using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MySql.Data.MySqlClient;

namespace Academia.Datos
{
    public class Inscripciones
    {

        public int Agregar(int legajo, int idCurso)
        {
            MySqlConnection oConn = Datos.General.CreateConnection();
            using (oConn)
            {
                oConn.Open();

                MySqlCommand oCmd = new MySqlCommand();
                using (oCmd)
                {
                    oCmd.Connection = oConn;
                    oCmd.CommandType = CommandType.StoredProcedure;
                    oCmd.CommandText = "InscripcionRegistrar";
                    oCmd.Parameters.AddWithValue("@Legajo", legajo);
                    oCmd.Parameters.AddWithValue("@IdCurso", idCurso);
                    oCmd.Parameters.AddWithValue("@FechaHoraInscripcion", DateTime.Now);

                    // Ejecutamos el comando y retornamos el id generado
                    return Convert.ToInt32(oCmd.ExecuteScalar());
                }
            }
        }

        public void Borrar(int legajo, int idCurso)
        {
            MySqlConnection oConn = Datos.General.CreateConnection();
            using (oConn)
            {
                oConn.Open();

                MySqlCommand oCmd = new MySqlCommand();
                using (oCmd)
                {
                    oCmd.Connection = oConn;
                    oCmd.CommandType = CommandType.StoredProcedure;
                    oCmd.CommandText = "InscripcionBorrar";
                    oCmd.Parameters.AddWithValue("@Legajo", legajo);
                    oCmd.Parameters.AddWithValue("@IdCurso", idCurso);

                    oCmd.ExecuteReader();
                }
            }
        }

        public bool AlumnoInscriptoAMateria(int legajo, int idMateria)
        {
            bool inscripto = true;
            MySqlConnection oConn = Datos.General.CreateConnection();
            using (oConn)
            {
                oConn.Open();

                MySqlCommand oCmd = new MySqlCommand();
                using (oCmd)
                {
                    oCmd.Connection = oConn;
                    oCmd.CommandType = CommandType.StoredProcedure;
                    oCmd.CommandText = "AlumnoInscriptoAMateria";
                    oCmd.Parameters.AddWithValue("@Legajo", legajo);
                    oCmd.Parameters.AddWithValue("@IdMateria", idMateria);

                    MySqlDataReader oReader = oCmd.ExecuteReader();
                    using (oReader)
                    {
                        while (oReader.Read())
                        {
                            inscripto = (Convert.ToInt32(oReader["Cantidad"]) == 1);
                        }
                    }
                }
            }
            return inscripto;

        }

    }
}
